<h2>processor_set_policy_control</h2>
<hr>
<p>
<strong>Function</strong> - Set target processor set's scheduling policy state.
<h3>SYNOPSIS</h3>
<pre>
<strong>kern_return_t	processor_set_policy_control</strong>
		<strong>(processor_set_t</strong>	<var>processor_set_control</var>,
		<strong>processor_set_flavor_t</strong>	<var>flavor</var>,
		<strong>processor_set_info_t</strong>	<var>policy_info</var>,
		<strong>mach_msg_type_number_t*</strong>	<var>policy_info_count</var>,
		<strong>boolean_t</strong>	<var>change_tasks_threads</var><strong>);</strong>
</pre>
<h3>PARAMETERS</h3>
<dl>
<dt> <var>processor_set_control</var> 
<dd>
[in processor-set-control send right]
A processor set control port.
<dt> <var>flavor</var> 
<dd>
[in scalar]
The type of policy change to make.
<dl>
<dt> <strong>PROCESSOR_SET_TIMESHARE_DEFAULT</strong>
<dd>
Change the base attributes for the timeshare scheduling
policy, making timeshare the default policy.  The structure is
<strong>policy_timeshare_base</strong>.
<dt> <strong>PROCESSOR_SET_FIFO_DEFAULT</strong>
<dd>
Change the base attributes for the FIFO (first-in, first-out) 
scheduling policy, making FIFO the default policy.  The
structure is <strong>policy_fifo_base</strong>.
<dt> <strong>PROCESSOR_SET_RR_DEFAULT</strong>
<dd>
Changed the base attributes for the round-robin scheduling 
policy, making round robin the default policy.  The structure is 
<strong>policy_rr_base</strong>.
<dt> <strong>PROCESSOR_SET_TIMESHARE_LIMITS</strong>
<dd>
Change the limits on the allowed timeshare policy attributes. 
The structure is defined by <strong>policy_timeshare_limit</strong>.
<dt> <strong>PROCESSOR_SET_RR_LIMITS</strong>
<dd>
Change the limits on the allowed round robin policy
attributes.  The structure is defined by <strong>policy_rr_limit</strong>.
<dt> <strong>PROCESSOR_SET_FIFO_LIMITS</strong>
<dd>
Change the limits on the allowed first-in, first-out policy
attributes.  The structure is defined by <strong>policy_fifo_limit</strong>.
<dt> <strong>PROCESSOR_SET_ENABLED_POLICIES</strong>
<dd>
Change the set of enabled policies.  The data is a bit-vector.
</dl>
<dt> <var>policy_info</var> 
<dd>
[in structure]
The relevant policy information.
<dt> <var>policy_info_count</var> 
<dd>
[in scalar]
The size of the buffer (in natural-sized units).
<dt> <var>change_tasks_threads</var> 
<dd>
[in scalar]
If true, any assigned task or thread whose policy is no
longer enabled or whose scheduling attributes exceed the current limits will 
have their limits adjusted or their policy set to the default as
appropriate.
</dl>
<h3>DESCRIPTION</h3>
<p>
The <strong>processor_set_policy_control</strong> function controls
scheduling attributes governing the processor set.
<h3>RETURN VALUES</h3>
<p>
Only generic errors apply.
<h3>RELATED INFORMATION</h3>
<p>
Functions:
<a href="processor_set_statistics.html">processor_set_statistics</a>,
<a href="processor_set_create.html">processor_set_create</a>,
<a href="processor_set_default.html">processor_set_default</a>,
<a href="processor_assign.html">processor_assign</a>,
<a href="processor_set_info.html">processor_set_info</a>.
<p>
Data Structures:
<a href="policy_timeshare_info.html">policy_timeshare_info</a>,
<a href="policy_rr_info.html">policy_rr_info</a>,
<a href="policy_fifo_info.html">policy_fifo_info</a>.
